1..serialize() -> 对queryset对象(即: 查询到的数据列表)进行序列化
- .serialize() 的作用: 将queryset对象转化成列表
- 注意: 会返回一些没用的额外数据,且该方法只能接收queryset对象
- serializers.serialize() 所接收的参数:
- 参数一: 需要序列化成什么数据类型
- 参数二: queryset 对象
from django.shortcuts import render, redirect, HttpResponse, reverse
from .models import *
# 导入Django内置的序列化模块
from django.core import serializers
def employee_list(request):
employees = Employee.objects.all()
ret = serializers.serialize('json', employees) # [{"model": "app01.employee", "pk": 1, "fields": {"name": "\u4f5c\u80051", "age": 22, "salary": 1619, "province": "\u4e1c\u839e"'+'}'+'}'}}, ]
return HttpResponse(ret)
2.model_to_dict 方法 -> 对查询到的数据对象进行序列化
- model_to_dict 的作用: 将查询到的数据对象转换成列表
- model_to_dict 方法所接收的参数: 查询到的数据对象
from django.forms.models import model_to_dict
def view_fn(request):
book_obj = Book.objects.all().first()
book_dict = model_to_dict(book_obj) # {'author': [], 'id': 14, 'price': 100, 'title': '三国演义', 'publish': 1}
return render(request, 'index.html')